// ApplicationRegainDlg.h : header file
//

#pragma once

#include "AfficheurErreursGraphique.h"
#include "afxcmn.h"
#include "TIChangerCamera.h"
#include "SurfaceBezier.h"

// CApplicationRegainDlg dialog
class CApplicationRegainDlg : public CDialog
{
// Construction
public:
	CApplicationRegainDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	enum { IDD = IDD_APPLICATIONREGAIN_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support


// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnClose();
	DECLARE_MESSAGE_MAP()

public :
	CDialog		*Cloture1,
				*Cloture2 ;
private :
	AfficheurErreursGraphique	AEG ;
	int							_densite;
	SurfaceBezier				_surface;
	void						LibererationsEnFinExecution () ;
	bool						FacesArrieresCachees ;
	bool						FondEstNoir ;
	

	afx_msg void OnFichierSauvegarde();
	afx_msg void OnFichierQuitter();
	afx_msg void OnTestsTest1();
	afx_msg void OnFichierNouveau();
	afx_msg void OnFichierChargement();
	afx_msg void OnFichierChargementstl();
	afx_msg void OnFichierCharger();
	afx_msg void OnFichierImportstl();
	afx_msg void OnFichierExportstl();
	afx_msg void OnSupprimerSolide();
	afx_msg void OnDebugNormaleFace();
	afx_msg void OnDebugDebuggerSolide();
	afx_msg void OnDebugDebuggerFace();
	afx_msg void OnDebugConsoleOnOff();
	afx_msg void OnTestsTest2();
	afx_msg void OnTestsTest3();
	afx_msg void OnAffichageFondBlancNoir();
	afx_msg void OnAffichageCacherFacesArrieres();
	afx_msg void OnAffichageColorerUnSolide();
	afx_msg void OnAffichageRepereOnOff();
	afx_msg void OnAffichageCoeffAmbiant();
	afx_msg void OnSolidesSimplesSphere();
	afx_msg void OnSolidesSimplesBoite();
	afx_msg void OnSolidesSimplesEllipsoide();
	afx_msg void OnSolidesSimplesCylindre();
	afx_msg void OnSolidesSimplesDodecaedre();
	afx_msg void OnSolidesSimplesDodecaedreEpineux();
	afx_msg void OnFichierViderChargerStl();
public:
	afx_msg void OnSurfacedebezierDensite();
	afx_msg void OnSurfacedebezierPointsdecontrole();
	afx_msg void OnSurfacedebezierModifierpointscontrole();

public:
	void			setDensite(int densite);
	int				getDensite()const;
	void			setSurface(SurfaceBezier & surface);
	SurfaceBezier & getSurface();

	afx_msg void OnSurfacedebezierAffichersurface();
	afx_msg void OnSurfacedebezierCoupercube();
	afx_msg void OnSurfacedebezierSurface();
};
